package com.world.superApp.utility;

import java.util.Date;

import org.apache.commons.lang3.StringUtils;

/**
 * 发送邮件
 * 
 * @author xiaoBang
 *
 */
public class MailUtil {

	/**
	 * @param mailServerHost
	 * @param mailServerPort
	 * @param userName
	 *            邮箱帐号
	 * @param password
	 *            邮箱密码
	 * @param fromMailAddress
	 *            发件邮箱
	 * @param toMailAddress
	 *            收件邮箱
	 * @param subject
	 *            主题
	 * @param content
	 *            内容
	 * @param mailType
	 *            邮件类型 : "onlyText"/"onlyHtml"/""
	 * @return
	 */
	public static boolean sendMail(String mailServerHost,
			String mailServerPort, String userName, String password,
			String fromMailAddress, String toMailAddress, String subject,
			String content, String mailType) {
		boolean flag = false;
		try {
			MailSenderInfo mailInfo = new MailSenderInfo();
			if (StringUtils.isNotBlank(mailServerHost)) {
				mailInfo.setMailServerHost(mailServerHost);// "smtp.163.com"
			} else {
				// 如mailServerHost 为空, 则从发件地址解析出host
				String smtpHostName = "smtp." + fromMailAddress.split("@")[1];
				mailInfo.setMailServerHost(smtpHostName);
			}
			mailInfo.setMailServerPort(mailServerPort);// "25"
			mailInfo.setValidate(true);// 验证用户名及密码
			mailInfo.setUserName(userName);// 邮箱帐号
			mailInfo.setPassword(password);// 邮箱密码
			mailInfo.setFromAddress(fromMailAddress);// 发件地址
			mailInfo.setToAddress(toMailAddress);//
			mailInfo.setSubject(subject);
			mailInfo.setContent(content);
			// 这个类主要来发送邮件
			SimpleMailSender sms = new SimpleMailSender();

			// 发送类型为空,默认两种格式的邮件都发送
			if (StringUtils.isBlank(mailType)) {
				sms.sendTextMail(mailInfo);// 发送文体格式
				sms.sendHtmlMail(mailInfo);// 发送html格式
			} else {
				if (mailType.equals("onlyHtml")) {
					sms.sendHtmlMail(mailInfo);// 发送html格式
				}
				if (mailType.equals("onlyText")) {
					sms.sendTextMail(mailInfo);// 发送文体格式
				}
			}

			flag = true;
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		}
		return flag;
	}

	public static void main(String[] args) {
		 String userName = "13512106831@163.com";
		 String password = "58585888asd";
		 String toAddress = "616485325@qq.com";
		do {
			System.out.println("send");
			MailUtil.sendMail("smtp.163.com", "25", userName, password,
					userName, toAddress, "测试邮件", "随机密码:6666666666", "onlyText");
			try {
				Thread.sleep(10000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		} while (true);

	}
}
